The present invention relates to interfaces for data transmission systems, an interface beging a circuit which connects a data link to a device or to another data link and which has two ports, each including a plurality of terminals, for connection to corresponding terminals of the data link on the one hand and to the device or other data link on the other hand. The invention is concerned with interfaces for use in systems wherein at least one data link is a highway, that is to say, a shared data link to which more than two interfaces are connected, communication being controlled by addressing procedures directed to the interfaces by a controller.
Devices include data acceptors which are primarily addressed as listeners although they may be addressed as talkers in poll and other command operations; data sources which are primarily addressed as talkers but are also addressable as listeners during command operations; devices which are both sources and acceptors; and controllers which act as talkers and listeners in establishing the operational status of the overall system. A controller is generally also a data source and a data acceptor, and may be what is generally referred to as a data processor or digital computer.
Proposals have long been considered internationally under the aegis of the International Electrotechnical Commission (IEC) for a standard relating to the situation in which the system has a single highway, of a type which will be called an IEC bus, to which a plurality (up to 15) devices are connected via respective interfaces. The current IEC standard interface proposal is set out in a document designated IEC TC66 (Central Office) 22, reference (1). An IEC bus is a bit-parallel, byte-serial highway which has in addition to data lines for the bit-parallel data, a plurality of handshake lines for synchronizing the exchange of bytes of data and a plurality of control or management lines which are lines dedicated to certain control functions. The control functions at present envisaged are:
IFC, "interface clear" which places all interfaces in a known waiting state.
REN, "remote enable" which sets a device to remote control.
ATN, "attention" whose presence with a data byte changes the meaning of the byte to an address or command function.
EOI, "end or identify" which indicates the end of a message or, in conjunction with ATN, is used in polling.
SRQ, "service request" which is sent back to the controller to indicate that a device needs attention.
Three handshake lines are envisaged, but little attention will be given to these. Their nature is described in detail both in the U.S. National Standard ANSI MC 1-1-1975, (reference 2) and in the aforementioned reference (1). Alternatively, the handshake signals may take the form disclosed in our British Patent Specification No. 1,463,626, (U.S. Pat. No. 3,982,061) reference (3).
A simple IEC system can cater satisfactorily for the requirements of say, a laboratory where all devices are geographically close but is severely limited in wider applications by two factors. Firstly, the limitation to 15 devices is insufficient to deal with complex control situations, e.g., in a chemical plant and, secondly, the length of an IEC bus is limited to 20 meters in order to avoid problems arising from skew between bits in the different lines and signal degradation. We have already proposed a solution to the first problem in our British Patent Specification No. 1,467,726, (U.S. Pat. No. 4,047,162) reference (4), which discloses an interface which can not only be used between a highway and a device but which can also be used between two highways. This makes it possible to build up complex systems involving two or more highways catering for as many devices as is required.
However, the problem remains of linking widely scattered devices; in a chemical plant, distances between will typically be hundreds of meters rather than 20 meters. Consideration has, therefore, been given to the use of serial data links between different parts of a system, i.e., links which carry data in bit-serial form, either synchronously or asynchronously but without the use of handshake lines. Although it is envisaged that such links will include also an SRQ line (to enable a listener to request service against the direction of data flow) it has been considered inappropriate to retain other control lines. Control functions have, therefore, to be encoded and, for this purpose, well-known telecommunication principles, as used with teleprinters, are available. In the context of the widely used ISO-7 code with seven data bits plus a parity bit, one available technique is to use ESC (data escape) which turns the immediately ensuing single byte from data into an address or command function. Another available technique is to bracket bytes between DLE SOH and DLE ETX; all such bytes are changed from data to addresses or command functions.
Abortive proposals have been made to link a highway to a distant device by connecting the highway to the near end of a serial link via a highway/serial interface and by connecting the far end of the serial link to the device via a serial/device interface. The highway/serial interface acts solely as a bus-extender which sends all data and all commands (including addresses), automatically coded, down the serial link to the serial/device interface which is the interface addressed in command operations involving the device. The main stumbling block preventing these proposals from being accepted is that, since all signals have to traverse the serial link, the operation of the system is badly slowed down, especially in the case of poll procedures.
Since speed of operation is being considered, it is convenient to mention here that it has also been proposed, in view of the difficulty of designing interfaces, to handle all necessary interface procedures to utilize only very rudimentary interfaces and to assign encoding, decoding and other special functions, to a computer (e.g., a microprocessor) inserted between two interfaces. In other words, some interface procedures are performed by software instead of being built into hardware. Quite apart from considerations of cost, the computing time involved is several orders of magnitude higher than the time taken by an interface which relies solely upon hardware. The present invention is concerned exclusively with interfaces in which all procedures are built into hardware.